home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 15 / BBS in a box XV-1.iso / Files / Util / C / Commodore 64 0.4.sit / Commodore 64 v0.4 / SOURCE / CPU68K.c < prev    next >
MacBinary  |  1994-05-02  |  4.5 KB  |  [TEXT/KAHL]

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: MacBinary (archive/macBinary).

You can browse this item here: CPU68K.c

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, Mon May 2 19:30:05 1994, modified Mon May 2 19:30:05 1994, creator Think C, type ASCII, 4071 bytes "CPU68K.c" , at 0x1067 360 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[KAHL]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 08 43 50 55 36 38 4b | 2e 63 00 00 00 00 00 00 |..CPU68K|.c......|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4b 41 48 | 4c 00 00 00 00 00 00 00 |.TEXTKAH|L.......|
|00000050| 00 00 00 00 00 0f e7 00 | 00 01 68 a9 eb 3d 7d a9 |........|..h..=}.|
|00000060| eb 3d 7d 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.=}.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 c3 0a 00 00 |........|........|
|00000080| 2f 2a 0d 20 20 20 20 43 | 6f 6d 6d 6f 64 6f 72 65 |/*. C|ommodore|
|00000090| 20 36 34 20 45 6d 75 6c | 61 74 6f 72 20 76 30 2e | 64 Emul|ator v0.|
|000000a0| 34 20 20 20 20 20 20 45 | 61 72 6c 65 20 46 2e 20 |4 E|arle F. |
|000000b0| 50 68 69 6c 68 6f 77 65 | 72 20 49 49 49 20 0d 20 |Philhowe|r III . |
|000000c0| 20 20 20 43 6f 70 79 72 | 69 67 68 74 20 28 43 29 | Copyr|ight (C)|
|000000d0| 20 31 39 39 33 2d 34 20 | 20 20 20 20 20 20 20 20 | 1993-4 | |
|000000e0| 20 20 20 28 73 74 39 31 | 36 77 39 72 40 64 75 6e | (st91|6w9r@dun|
|000000f0| 78 31 2e 6f 63 73 2e 64 | 72 65 78 65 6c 2e 65 64 |x1.ocs.d|rexel.ed|
|00000100| 75 29 0d 0d 09 28 53 6f | 6d 65 77 68 61 74 29 0d |u)...(So|mewhat).|
|00000110| 09 48 69 67 68 20 53 70 | 65 65 64 20 36 38 4b 20 |.High Sp|eed 68K |
|00000120| 43 50 55 20 73 69 6d 75 | 6c 61 74 69 6f 6e 20 62 |CPU simu|lation b|
|00000130| 79 20 47 65 6f 72 67 65 | 20 54 2e 20 54 61 6c 62 |y George| T. Talb|
|00000140| 6f 74 0d 09 09 09 09 09 | 09 09 09 09 20 28 75 67 |ot......|.... (ug|
|00000150| 74 61 6c 62 6f 74 40 6d | 63 73 2e 64 72 65 78 65 |talbot@m|cs.drexe|
|00000160| 6c 2e 65 64 75 29 0d 0d | 20 20 20 20 54 68 69 73 |l.edu)..| This|
|00000170| 20 70 72 6f 67 72 61 6d | 20 69 73 20 66 72 65 65 | program| is free|
|00000180| 20 73 6f 66 74 77 61 72 | 65 3b 20 79 6f 75 20 63 | softwar|e; you c|
|00000190| 61 6e 20 72 65 64 69 73 | 74 72 69 62 75 74 65 20 |an redis|tribute |
|000001a0| 69 74 20 61 6e 64 2f 6f | 72 20 6d 6f 64 69 66 79 |it and/o|r modify|
|000001b0| 0d 20 20 20 20 69 74 20 | 75 6e 64 65 72 20 74 68 |. it |under th|
|000001c0| 65 20 74 65 72 6d 73 20 | 6f 66 20 74 68 65 20 47 |e terms |of the G|
|000001d0| 4e 55 20 47 65 6e 65 72 | 61 6c 20 50 75 62 6c 69 |NU Gener|al Publi|
|000001e0| 63 20 4c 69 63 65 6e 73 | 65 20 61 73 20 70 75 62 |c Licens|e as pub|
|000001f0| 6c 69 73 68 65 64 20 62 | 79 0d 20 20 20 20 74 68 |lished b|y. th|
|00000200| 65 20 46 72 65 65 20 53 | 6f 66 74 77 61 72 65 20 |e Free S|oftware |
|00000210| 46 6f 75 6e 64 61 74 69 | 6f 6e 3b 20 65 69 74 68 |Foundati|on; eith|
|00000220| 65 72 20 76 65 72 73 69 | 6f 6e 20 32 20 6f 66 20 |er versi|on 2 of |
|00000230| 74 68 65 20 4c 69 63 65 | 6e 73 65 2c 20 6f 72 0d |the Lice|nse, or.|
|00000240| 20 20 20 20 28 61 74 20 | 79 6f 75 72 20 6f 70 74 | (at |your opt|
|00000250| 69 6f 6e 29 20 61 6e 79 | 20 6c 61 74 65 72 20 76 |ion) any| later v|
|00000260| 65 72 73 69 6f 6e 2e 0d | 0d 20 20 20 20 54 68 69 |ersion..|. Thi|
|00000270| 73 20 70 72 6f 67 72 61 | 6d 20 69 73 20 64 69 73 |s progra|m is dis|
|00000280| 74 72 69 62 75 74 65 64 | 20 69 6e 20 74 68 65 20 |tributed| in the |
|00000290| 68 6f 70 65 20 74 68 61 | 74 20 69 74 20 77 69 6c |hope tha|t it wil|
|000002a0| 6c 20 62 65 20 75 73 65 | 66 75 6c 2c 0d 20 20 20 |l be use|ful,. |
|000002b0| 20 62 75 74 20 57 49 54 | 48 4f 55 54 20 41 4e 59 | but WIT|HOUT ANY|
|000002c0| 20 57 41 52 52 41 4e 54 | 59 3b 20 77 69 74 68 6f | WARRANT|Y; witho|
|000002d0| 75 74 20 65 76 65 6e 20 | 74 68 65 20 69 6d 70 6c |ut even |the impl|
|000002e0| 69 65 64 20 77 61 72 72 | 61 6e 74 79 20 6f 66 0d |ied warr|anty of.|
|000002f0| 20 20 20 20 4d 45 52 43 | 48 41 4e 54 41 42 49 4c | MERC|HANTABIL|
|00000300| 49 54 59 20 6f 72 20 46 | 49 54 4e 45 53 53 20 46 |ITY or F|ITNESS F|
|00000310| 4f 52 20 41 20 50 41 52 | 54 49 43 55 4c 41 52 20 |OR A PAR|TICULAR |
|00000320| 50 55 52 50 4f 53 45 2e | 20 20 53 65 65 20 74 68 |PURPOSE.| See th|
|00000330| 65 0d 20 20 20 20 47 4e | 55 20 47 65 6e 65 72 61 |e. GN|U Genera|
|00000340| 6c 20 50 75 62 6c 69 63 | 20 4c 69 63 65 6e 73 65 |l Public| License|
|00000350| 20 66 6f 72 20 6d 6f 72 | 65 20 64 65 74 61 69 6c | for mor|e detail|
|00000360| 73 2e 0d 0d 20 20 20 20 | 59 6f 75 20 73 68 6f 75 |s... |You shou|
|00000370| 6c 64 20 68 61 76 65 20 | 72 65 63 65 69 76 65 64 |ld have |received|
|00000380| 20 61 20 63 6f 70 79 20 | 6f 66 20 74 68 65 20 47 | a copy |of the G|
|00000390| 4e 55 20 47 65 6e 65 72 | 61 6c 20 50 75 62 6c 69 |NU Gener|al Publi|
|000003a0| 63 20 4c 69 63 65 6e 73 | 65 0d 20 20 20 20 61 6c |c Licens|e. al|
|000003b0| 6f 6e 67 20 77 69 74 68 | 20 74 68 69 73 20 70 72 |ong with| this pr|
|000003c0| 6f 67 72 61 6d 3b 20 69 | 66 20 6e 6f 74 2c 20 77 |ogram; i|f not, w|
|000003d0| 72 69 74 65 20 74 6f 20 | 74 68 65 20 46 72 65 65 |rite to |the Free|
|000003e0| 20 53 6f 66 74 77 61 72 | 65 0d 20 20 20 20 46 6f | Softwar|e. Fo|
|000003f0| 75 6e 64 61 74 69 6f 6e | 2c 20 49 6e 63 2e 2c 20 |undation|, Inc., |
|00000400| 36 37 35 20 4d 61 73 73 | 20 41 76 65 2c 20 43 61 |675 Mass| Ave, Ca|
|00000410| 6d 62 72 69 64 67 65 2c | 20 4d 41 20 30 32 31 33 |mbridge,| MA 0213|
|00000420| 39 2c 20 55 53 41 2e 0d | 2a 2f 0d 0d 23 69 66 6e |9, USA..|*/..#ifn|
|00000430| 64 65 66 20 5f 5f 4d 57 | 45 52 4b 53 5f 5f 0d 0d |def __MW|ERKS__..|
|00000440| 23 69 6e 63 6c 75 64 65 | 20 22 50 72 6f 63 65 73 |#include| "Proces|
|00000450| 73 6f 72 2e 68 22 0d 23 | 69 6e 63 6c 75 64 65 20 |sor.h".#|include |
|00000460| 22 52 65 67 69 73 74 65 | 72 73 36 38 4b 2e 68 22 |"Registe|rs68K.h"|
|00000470| 0d 23 69 6e 63 6c 75 64 | 65 20 22 46 6c 61 67 73 |.#includ|e "Flags|
|00000480| 36 38 4b 2e 68 22 0d 23 | 69 6e 63 6c 75 64 65 20 |68K.h".#|include |
|00000490| 22 49 6e 73 74 72 75 63 | 74 69 6f 6e 73 36 38 4b |"Instruc|tions68K|
|000004a0| 2e 68 22 0d 23 69 6e 63 | 6c 75 64 65 20 22 53 74 |.h".#inc|lude "St|
|000004b0| 61 63 6b 36 38 4b 2e 68 | 22 0d 23 69 6e 63 6c 75 |ack68K.h|".#inclu|
|000004c0| 64 65 20 22 4d 6f 64 65 | 73 36 38 4b 2e 68 22 0d |de "Mode|s68K.h".|
|000004d0| 23 69 6e 63 6c 75 64 65 | 20 22 4d 65 6d 6f 72 79 |#include| "Memory|
|000004e0| 36 38 4b 2e 68 22 0d 23 | 69 6e 63 6c 75 64 65 20 |68K.h".#|include |
|000004f0| 22 4b 65 79 62 6f 61 72 | 64 2e 68 22 0d 0d 23 64 |"Keyboar|d.h"..#d|
|00000500| 65 66 69 6e 65 09 4f 4e | 45 5f 53 43 41 4e 5f 4c |efine.ON|E_SCAN_L|
|00000510| 49 4e 45 09 09 33 35 09 | 2f 2a 20 43 50 55 20 43 |INE..35.|/* CPU C|
|00000520| 79 63 6c 65 73 20 2a 2f | 0d 23 64 65 66 69 6e 65 |ycles */|.#define|
|00000530| 09 4f 4e 45 5f 46 52 41 | 4d 45 09 09 09 33 35 30 |.ONE_FRA|ME...350|
|00000540| 09 2f 2a 20 53 63 72 65 | 65 6e 20 6c 69 6e 65 73 |./* Scre|en lines|
|00000550| 09 2a 2f 0d 0d 65 78 74 | 65 72 6e 20 77 6f 72 64 |.*/..ext|ern word|
|00000560| 20 28 2a 20 69 6e 73 74 | 72 75 63 74 66 5b 32 35 | (* inst|ructf[25|
|00000570| 36 5d 29 20 28 29 3b 0d | 65 78 74 65 72 6e 20 62 |6]) ();.|extern b|
|00000580| 79 74 65 20 63 79 63 6c | 65 74 69 6d 65 66 5b 32 |yte cycl|etimef[2|
|00000590| 35 36 5d 3b 0d 65 78 74 | 65 72 6e 20 62 79 74 65 |56];.ext|ern byte|
|000005a0| 09 2a 52 41 4d 2c 20 2a | 2a 6d 65 6d 6f 72 79 3b |.*RAM, *|*memory;|
|000005b0| 0d 0d 23 64 65 66 69 6e | 65 09 53 45 54 55 50 5f |..#defin|e.SETUP_|
|000005c0| 43 50 55 09 09 09 09 09 | 5c 0d 09 74 73 70 09 09 |CPU.....|\..tsp..|
|000005d0| 09 3d 20 73 70 3b 09 09 | 09 09 5c 0d 09 74 70 63 |.= sp;..|..\..tpc|
|000005e0| 09 09 09 3d 20 70 63 3b | 09 09 09 09 5c 0d 09 61 |...= pc;|....\..a|
|000005f0| 73 6d 09 7b 09 09 09 09 | 09 09 09 5c 0d 09 09 4d |sm.{....|...\...M|
|00000600| 4f 56 45 4d 2e 4c 09 44 | 33 2d 44 37 2f 41 32 2d |OVEM.L.D|3-D7/A2-|
|00000610| 41 33 2c 2d 28 41 37 29 | 09 5c 0d 09 09 4d 4f 56 |A3,-(A7)|.\...MOV|
|00000620| 45 2e 57 09 74 70 63 2c | 72 50 43 09 09 09 09 5c |E.W.tpc,|rPC....\|
|00000630| 0d 09 09 4d 4f 56 45 2e | 57 09 74 73 70 2c 72 53 |...MOVE.|W.tsp,rS|
|00000640| 50 09 09 09 09 5c 0d 09 | 09 4d 4f 56 45 2e 42 09 |P....\..|.MOVE.B.|
|00000650| 61 2c 72 41 09 09 09 09 | 5c 0d 09 09 4d 4f 56 45 |a,rA....|\...MOVE|
|00000660| 2e 42 09 78 2c 72 58 09 | 09 09 09 5c 0d 09 09 4d |.B.x,rX.|...\...M|
|00000670| 4f 56 45 2e 42 09 79 2c | 72 59 09 09 09 09 5c 0d |OVE.B.y,|rY....\.|
|00000680| 09 09 4d 4f 56 45 2e 42 | 09 66 6c 61 67 73 2c 72 |..MOVE.B|.flags,r|
|00000690| 46 4c 41 47 53 09 09 5c | 0d 09 09 4d 4f 56 45 41 |FLAGS..\|...MOVEA|
|000006a0| 2e 4c 09 52 41 4d 2c 72 | 52 41 4d 09 09 09 5c 0d |.L.RAM,r|RAM...\.|
|000006b0| 09 09 4d 4f 56 45 2e 4c | 09 72 52 41 4d 2c 72 53 |..MOVE.L|.rRAM,rS|
|000006c0| 54 41 43 4b 09 09 09 5c | 0d 09 09 41 44 44 41 2e |TACK...\|...ADDA.|
|000006d0| 4c 09 23 32 35 36 2c 72 | 53 54 41 43 4b 09 09 09 |L.#256,r|STACK...|
|000006e0| 5c 0d 09 09 4d 4f 56 45 | 41 2e 4c 09 6d 65 6d 6f |\...MOVE|A.L.memo|
|000006f0| 72 79 2c 72 4d 45 4d 4f | 52 59 09 09 5c 0d 09 09 |ry,rMEMO|RY..\...|
|00000700| 7d 0d 0d 23 64 65 66 69 | 6e 65 09 52 45 53 54 4f |}..#defi|ne.RESTO|
|00000710| 52 45 5f 43 50 55 09 09 | 09 09 09 5c 0d 09 61 73 |RE_CPU..|...\..as|
|00000720| 6d 09 7b 09 09 09 09 09 | 09 09 5c 0d 09 09 4d 4f |m.{.....|..\...MO|
|00000730| 56 45 2e 57 09 72 50 43 | 2c 74 70 63 09 09 09 09 |VE.W.rPC|,tpc....|
|00000740| 5c 0d 09 09 4d 4f 56 45 | 2e 57 09 72 53 50 2c 74 |\...MOVE|.W.rSP,t|
|00000750| 73 70 09 09 09 09 5c 0d | 09 09 4d 4f 56 45 2e 42 |sp....\.|..MOVE.B|
|00000760| 09 72 41 2c 61 09 09 09 | 09 5c 0d 09 09 4d 4f 56 |.rA,a...|.\...MOV|
|00000770| 45 2e 42 09 72 58 2c 78 | 09 09 09 09 5c 0d 09 09 |E.B.rX,x|....\...|
|00000780| 4d 4f 56 45 2e 42 09 72 | 59 2c 79 09 09 09 09 5c |MOVE.B.r|Y,y....\|
|00000790| 0d 09 09 4d 4f 56 45 2e | 42 09 72 46 4c 41 47 53 |...MOVE.|B.rFLAGS|
|000007a0| 2c 66 6c 61 67 73 09 09 | 5c 0d 09 09 4d 4f 56 45 |,flags..|\...MOVE|
|000007b0| 4d 2e 4c 09 28 41 37 29 | 2b 2c 44 33 2d 44 37 2f |M.L.(A7)|+,D3-D7/|
|000007c0| 41 32 2d 41 33 09 5c 0d | 09 09 7d 09 09 09 09 09 |A2-A3.\.|..}.....|
|000007d0| 09 09 5c 0d 09 73 70 09 | 3d 20 74 73 70 3b 09 09 |..\..sp.|= tsp;..|
|000007e0| 09 09 09 09 5c 0d 09 70 | 63 09 3d 20 74 70 63 3b |....\..p|c.= tpc;|
|000007f0| 0d 0d 2f 2a 09 48 61 64 | 20 74 6f 20 65 6e 63 6c |../*.Had| to encl|
|00000800| 6f 73 65 20 53 65 74 55 | 70 4d 65 6d 6f 72 79 4d |ose SetU|pMemoryM|
|00000810| 61 70 28 29 20 62 79 20 | 74 68 65 20 43 50 55 20 |ap() by |the CPU |
|00000820| 69 6e 69 74 69 61 6c 69 | 7a 61 74 69 6f 6e 20 73 |initiali|zation s|
|00000830| 6f 20 74 68 61 74 20 74 | 68 65 20 43 50 55 20 69 |o that t|he CPU i|
|00000840| 73 6e 27 74 0d 20 2a 09 | 64 69 73 74 75 72 62 65 |sn't. *.|disturbe|
|00000850| 64 20 77 68 65 6e 20 53 | 65 74 55 70 4d 65 6d 6f |d when S|etUpMemo|
|00000860| 72 79 4d 61 70 28 29 20 | 69 73 20 63 61 6c 6c 65 |ryMap() |is calle|
|00000870| 64 2c 20 61 6e 64 20 73 | 6f 20 74 68 61 74 20 74 |d, and s|o that t|
|00000880| 68 65 20 43 50 55 20 72 | 65 67 69 73 74 65 72 73 |he CPU r|egisters|
|00000890| 20 63 61 6e 20 62 65 0d | 20 2a 09 75 73 65 64 20 | can be.| *.used |
|000008a0| 69 6e 20 53 65 74 55 70 | 4d 65 6d 6f 72 79 4d 61 |in SetUp|MemoryMa|
|000008b0| 70 28 29 2c 20 69 66 20 | 6e 65 63 65 73 73 61 72 |p(), if |necessar|
|000008c0| 79 2e 0d 20 2a 2f 0d 76 | 6f 69 64 09 72 65 64 6f |y.. */.v|oid.redo|
|000008d0| 4d 65 6d 6f 72 79 4d 61 | 70 28 76 6f 69 64 29 0d |MemoryMa|p(void).|
|000008e0| 09 7b 0d 09 77 6f 72 64 | 09 09 74 73 70 2c 20 74 |.{..word|..tsp, t|
|000008f0| 70 63 3b 0d 0d 09 52 45 | 53 54 4f 52 45 5f 43 50 |pc;...RE|STORE_CP|
|00000900| 55 0d 09 53 65 74 55 70 | 4d 65 6d 6f 72 79 4d 61 |U..SetUp|MemoryMa|
|00000910| 70 28 29 3b 0d 09 53 45 | 54 55 50 5f 43 50 55 0d |p();..SE|TUP_CPU.|
|00000920| 09 7d 0d 0d 23 70 72 61 | 67 6d 61 20 6e 6f 6f 70 |.}..#pra|gma noop|
|00000930| 74 69 6d 69 7a 65 28 72 | 65 64 6f 4d 65 6d 6f 72 |timize(r|edoMemor|
|00000940| 79 4d 61 70 29 0d 0d 2f | 2a 09 54 68 69 73 20 66 |yMap)../|*.This f|
|00000950| 75 6e 63 74 69 6f 6e 20 | 69 73 20 61 20 74 72 61 |unction |is a tra|
|00000960| 6e 73 6c 61 74 69 6f 6e | 20 6f 66 20 74 68 65 20 |nslation| of the |
|00000970| 70 72 6f 63 65 73 73 6f | 72 20 6c 6f 6f 70 20 69 |processo|r loop i|
|00000980| 6e 20 50 72 6f 63 65 73 | 73 6f 72 2e 63 2e 09 2a |n Proces|sor.c..*|
|00000990| 2f 0d 76 6f 69 64 09 43 | 50 55 28 29 0d 09 7b 0d |/.void.C|PU()..{.|
|000009a0| 09 77 6f 72 64 09 09 74 | 73 70 2c 20 74 70 63 3b |.word..t|sp, tpc;|
|000009b0| 0d 09 62 79 74 65 09 09 | 63 75 72 5f 63 79 63 6c |..byte..|cur_cycl|
|000009c0| 65 73 3b 0d 09 62 79 74 | 65 09 09 6f 6c 64 4d 65 |es;..byt|e..oldMe|
|000009d0| 6d 6f 72 79 4d 61 70 3b | 0d 09 77 6f 72 64 09 09 |moryMap;|..word..|
|000009e0| 63 75 72 5f 73 63 61 6e | 4c 69 6e 65 73 3b 0d 0d |cur_scan|Lines;..|
|000009f0| 09 6f 6c 64 4d 65 6d 6f | 72 79 4d 61 70 09 3d 20 |.oldMemo|ryMap.= |
|00000a00| 52 41 4d 5b 31 5d 3b 0d | 09 63 75 72 5f 73 63 61 |RAM[1];.|.cur_sca|
|00000a10| 6e 4c 69 6e 65 73 09 3d | 20 30 3b 0d 09 63 75 72 |nLines.=| 0;..cur|
|00000a20| 5f 63 79 63 6c 65 73 09 | 09 3d 20 30 3b 0d 0d 09 |_cycles.|.= 0;...|
|00000a30| 2f 2a 09 50 75 74 20 74 | 68 65 20 36 35 31 30 20 |/*.Put t|he 6510 |
|00000a40| 72 65 67 69 73 74 65 72 | 73 20 69 6e 20 36 38 4b |register|s in 68K|
|00000a50| 20 72 65 67 69 73 74 65 | 72 73 2e 20 20 28 53 65 | registe|rs. (Se|
|00000a60| 65 20 52 65 67 69 73 74 | 65 72 73 36 38 4b 2e 68 |e Regist|ers68K.h|
|00000a70| 29 09 2a 2f 0d 09 53 45 | 54 55 50 5f 43 50 55 0d |).*/..SE|TUP_CPU.|
|00000a80| 0d 09 2f 2a 09 4f 75 74 | 73 69 64 65 20 6c 6f 6f |../*.Out|side loo|
|00000a90| 70 20 69 73 20 6f 6e 65 | 20 73 63 72 65 65 6e 20 |p is one| screen |
|00000aa0| 66 72 61 6d 65 09 2a 2f | 0d 09 64 6f 09 7b 0d 09 |frame.*/|..do.{..|
|00000ab0| 09 2f 2a 09 49 6e 73 69 | 64 65 20 6c 6f 6f 70 20 |./*.Insi|de loop |
|00000ac0| 69 73 20 6f 6e 65 20 73 | 63 72 65 65 6e 20 6c 69 |is one s|creen li|
|00000ad0| 6e 65 09 2a 2f 0d 09 09 | 64 6f 09 7b 0d 09 09 09 |ne.*/...|do.{....|
|00000ae0| 61 73 6d 09 7b 0d 09 09 | 09 09 2f 2a 09 46 65 74 |asm.{...|../*.Fet|
|00000af0| 63 68 20 74 68 65 20 63 | 75 72 72 65 6e 74 20 69 |ch the c|urrent i|
|00000b00| 6e 73 74 72 75 63 74 69 | 6f 6e 09 2a 2f 0d 09 09 |nstructi|on.*/...|
|00000b10| 09 09 43 4c 52 2e 4c 09 | 44 31 0d 09 09 09 09 4d |..CLR.L.|D1.....M|
|00000b20| 4f 56 45 2e 57 09 72 50 | 43 2c 44 31 0d 09 09 09 |OVE.W.rP|C,D1....|
|00000b30| 09 4c 53 4c 2e 4c 09 23 | 32 2c 44 31 0d 09 09 09 |.LSL.L.#|2,D1....|
|00000b40| 09 4d 4f 56 45 41 2e 4c | 09 28 72 4d 45 4d 4f 52 |.MOVEA.L|.(rMEMOR|
|00000b50| 59 2c 44 31 2e 4c 29 2c | 41 32 0d 09 09 09 09 4d |Y,D1.L),|A2.....M|
|00000b60| 4f 56 45 2e 42 09 28 41 | 32 29 2c 44 31 0d 09 09 |OVE.B.(A|2),D1...|
|00000b70| 09 09 41 4e 44 49 2e 57 | 09 23 30 78 30 30 46 46 |..ANDI.W|.#0x00FF|
|00000b80| 2c 44 31 0d 0d 09 09 09 | 09 2f 2a 09 41 64 76 61 |,D1.....|./*.Adva|
|00000b90| 6e 63 65 20 50 43 20 70 | 61 73 74 20 74 68 65 20 |nce PC p|ast the |
|00000ba0| 69 6e 73 74 72 75 63 74 | 69 6f 6e 20 62 79 74 65 |instruct|ion byte|
|00000bb0| 20 28 61 64 64 69 74 69 | 6f 6e 61 6c 20 50 43 0d | (additi|onal PC.|
|00000bc0| 09 09 09 09 20 2a 09 61 | 64 76 61 6e 63 65 73 20 |.... *.a|dvances |
|00000bd0| 77 69 6c 6c 20 62 65 20 | 64 6f 6e 65 20 69 6e 20 |will be |done in |
|00000be0| 74 68 65 20 69 6e 73 74 | 72 75 63 74 69 6f 6e 73 |the inst|ructions|
|00000bf0| 2c 20 74 68 65 6d 73 65 | 6c 76 65 73 29 2e 0d 09 |, themse|lves)...|
|00000c00| 09 09 09 20 2a 2f 0d 09 | 09 09 09 50 43 28 23 31 |... */..|...PC(#1|
|00000c10| 29 0d 0d 09 09 09 09 2f | 2a 09 43 6f 75 6e 74 20 |)....../|*.Count |
|00000c20| 75 70 20 74 68 65 20 43 | 50 55 20 63 79 63 6c 65 |up the C|PU cycle|
|00000c30| 73 20 65 78 65 63 75 74 | 65 64 20 73 6f 20 66 61 |s execut|ed so fa|
|00000c40| 72 09 2a 2f 0d 09 09 09 | 09 4d 4f 56 45 2e 42 09 |r.*/....|.MOVE.B.|
|00000c50| 63 75 72 5f 63 79 63 6c | 65 73 2c 44 30 0d 09 09 |cur_cycl|es,D0...|
|00000c60| 09 09 4c 45 41 09 09 63 | 79 63 6c 65 74 69 6d 65 |..LEA..c|ycletime|
|00000c70| 66 2c 41 32 0d 09 09 09 | 09 41 44 44 2e 42 09 28 |f,A2....|.ADD.B.(|
|00000c80| 41 32 2c 44 31 2e 57 29 | 2c 44 30 0d 09 09 09 09 |A2,D1.W)|,D0.....|
|00000c90| 4d 4f 56 45 2e 42 09 44 | 30 2c 63 75 72 5f 63 79 |MOVE.B.D|0,cur_cy|
|00000ca0| 63 6c 65 73 0d 0d 09 09 | 09 09 2f 2a 09 45 78 65 |cles....|../*.Exe|
|00000cb0| 63 75 74 65 20 74 68 65 | 20 69 6e 73 74 72 75 63 |cute the| instruc|
|00000cc0| 74 69 6f 6e 09 2a 2f 0d | 09 09 09 09 4c 53 4c 2e |tion.*/.|....LSL.|
|00000cd0| 57 09 23 32 2c 44 31 0d | 09 09 09 09 4c 45 41 09 |W.#2,D1.|....LEA.|
|00000ce0| 09 69 6e 73 74 72 75 63 | 74 66 2c 41 32 0d 09 09 |.instruc|tf,A2...|
|00000cf0| 09 09 4d 4f 56 45 2e 4c | 09 28 41 32 2c 44 31 2e |..MOVE.L|.(A2,D1.|
|00000d00| 57 29 2c 41 32 0d 09 09 | 09 09 4a 53 52 09 09 28 |W),A2...|..JSR..(|
|00000d10| 41 32 29 0d 0d 09 09 09 | 09 2f 2a 09 53 65 74 20 |A2).....|./*.Set |
|00000d20| 75 70 20 74 68 65 20 6b | 65 79 62 6f 61 72 64 20 |up the k|eyboard |
|00000d30| 73 63 61 6e 20 63 6f 64 | 65 73 09 2a 2f 0d 09 09 |scan cod|es.*/...|
|00000d40| 09 09 43 4c 52 2e 57 09 | 44 30 0d 09 09 09 09 4d |..CLR.W.|D0.....M|
|00000d50| 4f 56 45 2e 4c 09 23 30 | 78 30 30 30 30 44 43 30 |OVE.L.#0|x0000DC0|
|00000d60| 30 2c 44 31 0d 09 09 09 | 09 4d 4f 56 45 2e 42 09 |0,D1....|.MOVE.B.|
|00000d70| 28 72 52 41 4d 2c 44 31 | 2e 4c 29 2c 44 30 0d 09 |(rRAM,D1|.L),D0..|
|00000d80| 09 09 09 4c 45 41 09 09 | 73 63 61 6e 43 6f 64 65 |...LEA..|scanCode|
|00000d90| 2c 41 32 0d 09 09 09 09 | 4d 4f 56 45 2e 42 09 28 |,A2.....|MOVE.B.(|
|00000da0| 41 32 2c 44 30 2e 57 29 | 2c 44 30 0d 09 09 09 09 |A2,D0.W)|,D0.....|
|00000db0| 41 44 44 51 2e 57 09 23 | 31 2c 44 31 0d 09 09 09 |ADDQ.W.#|1,D1....|
|00000dc0| 09 4d 4f 56 45 2e 42 09 | 44 30 2c 28 72 52 41 4d |.MOVE.B.|D0,(rRAM|
|00000dd0| 2c 44 31 2e 4c 29 0d 0d | 09 09 09 09 2f 2a 09 43 |,D1.L)..|..../*.C|
|00000de0| 68 65 63 6b 20 66 6f 72 | 20 6d 65 6d 6f 72 79 20 |heck for| memory |
|00000df0| 6d 61 70 20 63 68 61 6e | 67 65 73 2c 20 61 6e 64 |map chan|ges, and|
|00000e00| 20 63 68 61 6e 67 65 20 | 74 68 65 20 6d 65 6d 6f | change |the memo|
|00000e10| 72 79 20 6d 61 70 2c 20 | 69 66 20 73 6f 09 2a 2f |ry map, |if so.*/|
|00000e20| 0d 09 09 09 09 4d 4f 56 | 45 2e 42 09 31 28 72 52 |.....MOV|E.B.1(rR|
|00000e30| 41 4d 29 2c 44 30 0d 09 | 09 09 09 43 4d 50 2e 42 |AM),D0..|...CMP.B|
|00000e40| 09 6f 6c 64 4d 65 6d 6f | 72 79 4d 61 70 2c 44 30 |.oldMemo|ryMap,D0|
|00000e50| 0d 09 09 09 09 42 45 51 | 09 09 40 31 0d 09 09 09 |.....BEQ|..@1....|
|00000e60| 09 4d 4f 56 45 2e 42 09 | 44 30 2c 6f 6c 64 4d 65 |.MOVE.B.|D0,oldMe|
|00000e70| 6d 6f 72 79 4d 61 70 0d | 09 09 09 09 42 53 52 09 |moryMap.|....BSR.|
|00000e80| 09 72 65 64 6f 4d 65 6d | 6f 72 79 4d 61 70 0d 40 |.redoMem|oryMap.@|
|00000e90| 31 0d 09 09 09 09 7d 0d | 09 09 09 7d 0d 09 09 77 |1.....}.|...}...w|
|00000ea0| 68 69 6c 65 20 28 63 75 | 72 5f 63 79 63 6c 65 73 |hile (cu|r_cycles|
|00000eb0| 20 3c 20 4f 4e 45 5f 53 | 43 41 4e 5f 4c 49 4e 45 | < ONE_S|CAN_LINE|
|00000ec0| 29 3b 0d 0d 09 09 63 75 | 72 5f 63 79 63 6c 65 73 |);....cu|r_cycles|
|00000ed0| 09 2d 3d 20 4f 4e 45 5f | 53 43 41 4e 5f 4c 49 4e |.-= ONE_|SCAN_LIN|
|00000ee0| 45 3b 0d 0d 09 09 2f 2a | 20 55 70 64 61 74 65 20 |E;..../*| Update |
|00000ef0| 74 68 65 20 63 75 72 72 | 65 6e 74 20 56 49 43 20 |the curr|ent VIC |
|00000f00| 73 63 61 6e 20 72 65 67 | 69 73 74 65 72 20 2a 2f |scan reg|ister */|
|00000f10| 0d 09 09 61 73 6d 09 7b | 0d 09 09 09 4d 4f 56 45 |...asm.{|....MOVE|
|00000f20| 2e 4c 09 23 30 78 30 30 | 30 30 44 30 31 32 2c 44 |.L.#0x00|00D012,D|
|00000f30| 31 0d 09 09 09 41 44 44 | 51 2e 42 09 23 31 2c 28 |1....ADD|Q.B.#1,(|
|00000f40| 72 52 41 4d 2c 44 31 2e | 4c 29 0d 09 09 09 42 4e |rRAM,D1.|L)....BN|
|00000f50| 45 09 09 40 32 0d 09 09 | 09 53 55 42 51 2e 4c 09 |E..@2...|.SUBQ.L.|
|00000f60| 23 31 2c 44 31 0d 09 09 | 09 45 4f 52 49 2e 42 09 |#1,D1...|.EORI.B.|
|00000f70| 23 30 78 38 30 2c 28 72 | 52 41 4d 2c 44 31 2e 4c |#0x80,(r|RAM,D1.L|
|00000f80| 29 0d 40 32 09 09 09 4d | 4f 56 45 2e 4c 09 23 30 |).@2...M|OVE.L.#0|
|00000f90| 78 30 30 30 30 44 30 31 | 38 2c 44 31 0d 09 09 09 |x0000D01|8,D1....|
|00000fa0| 4f 52 49 2e 42 09 23 31 | 2c 28 72 52 41 4d 2c 44 |ORI.B.#1|,(rRAM,D|
|00000fb0| 31 2e 4c 29 0d 09 09 09 | 7d 0d 0d 09 09 2b 2b 63 |1.L)....|}....++c|
|00000fc0| 75 72 5f 73 63 61 6e 4c | 69 6e 65 73 3b 0d 09 09 |ur_scanL|ines;...|
|00000fd0| 7d 0d 09 77 68 69 6c 65 | 20 28 63 75 72 5f 73 63 |}..while| (cur_sc|
|00000fe0| 61 6e 4c 69 6e 65 73 20 | 3c 3d 20 4f 4e 45 5f 46 |anLines |<= ONE_F|
|00000ff0| 52 41 4d 45 29 3b 0d 0d | 09 2f 2a 09 50 75 74 20 |RAME);..|./*.Put |
|00001000| 74 68 65 20 36 35 31 30 | 20 72 65 67 69 73 74 65 |the 6510| registe|
|00001010| 72 73 20 62 61 63 6b 20 | 69 6e 74 6f 20 74 68 65 |rs back |into the|
|00001020| 20 6d 65 6d 6f 72 79 20 | 76 61 72 69 61 62 6c 65 | memory |variable|
|00001030| 73 09 2a 2f 0d 09 52 45 | 53 54 4f 52 45 5f 43 50 |s.*/..RE|STORE_CP|
|00001040| 55 0d 09 7d 0d 0d 23 70 | 72 61 67 6d 61 20 6e 6f |U..}..#p|ragma no|
|00001050| 6f 70 74 69 6d 69 7a 65 | 28 43 50 55 29 0d 0d 0d |optimize|(CPU)...|
|00001060| 23 65 6e 64 69 66 0d 00 | 00 00 00 00 00 00 00 00 |#endif..|........|
|00001070| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001080| 00 00 01 00 00 00 01 36 | 00 00 00 36 00 00 00 32 |.......6|...6...2|
|00001090| ff ff 00 00 00 b1 00 11 | 00 00 14 c8 ff ff 00 00 |........|........|
|000010a0| 00 d6 00 11 00 00 14 e4 | ff fe 00 00 01 1c 00 11 |........|........|
|000010b0| 08 43 50 55 36 38 4b 2e | 63 00 02 00 00 00 50 61 |.CPU68K.|c.....Pa|
|000010c0| 72 74 53 49 54 78 00 00 | 00 00 00 00 00 00 00 02 |rtSITx..|........|
|000010d0| 00 00 50 61 72 74 53 49 | 54 78 00 00 00 00 00 00 |..PartSI|Tx......|
|000010e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000010f0| 00 00 aa 13 a0 b3 00 00 | 00 00 00 00 01 68 00 00 |........|.....h..|
|00001100| 00 ef 00 11 00 00 15 dc | ff fe 00 00 00 d0 00 11 |........|........|
|00001110| 00 00 15 f8 ff fe 00 00 | 00 c0 00 11 00 00 16 1a |........|........|
|00001120| ff fe 00 00 00 af 00 11 | 00 00 16 20 ff fe 00 00 |........|... ....|
|00001130| 00 b6 00 11 00 00 16 28 | ff ff 00 00 00 b1 00 11 |.......(|........|
|00001140| 00 00 16 38 ff fe 00 00 | 00 b6 00 11 00 00 16 76 |...8....|.......v|
|00001150| ff fe 00 00 00 b6 00 11 | 00 00 16 84 ff fe 00 00 |........|........|
|00001160| 00 aa 00 11 00 00 16 9a | ff fe 00 00 00 d0 00 11 |........|........|
|00001170| 00 00 16 a8 ff fe 00 00 | 00 f7 00 11 00 00 17 56 |........|.......V|
|00001180| 00 00 00 32 00 02 00 1a | 00 00 0a db 00 6f 00 ae |...2....|.....o..|
|00001190| f2 60 00 00 0b 63 75 72 | 5f 63 79 63 6c 65 73 20 |.`...cur|_cycles |
|000011a0| 00 16 00 00 0e 99 00 9b | 00 00 00 00 00 00 07 63 |........|.......c|
|000011b0| 79 63 6c 65 73 20 00 00 | 01 00 00 00 01 36 00 00 |ycles ..|.....6..|
|000011c0| 00 36 00 00 00 32 00 25 | 76 d6 09 8e 00 00 00 1c |.6...2.%|v.......|
|000011d0| 00 32 00 00 44 54 56 55 | 00 00 00 0a 1d 8f ff ff |.2..DTVU|........|
|000011e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000011f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+